/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package juego;

/**
 *
 * @author VIC
 */
class Mapa{
	Object[][][] matriz = new Object [15][20][3];
	public Mapa(){
            int i,j,z;
            for(i=0;i<15;i++){
		for(j=0;j<20;j++){
                    if (j<5 && i<5)
                        matriz[i][j][0]= new Terreno('^', "montana");
                    else {
			if (i<10)
                            matriz[i][j][0]= new Terreno('_', "pradera");
			else{
                            if (i<12)
                                matriz[i][j][0]= new Terreno('.',"playa");
                            else
                                matriz[i][j][0] = new Terreno('~',"mar");
                        }
                    }
		}
            }
	}

        public void mostrar(){
            for(int i = 0; i < 15; i++){
		for(int j = 0; j < 20; j++){
                    if(matriz[i][j][1]!= null)
			System.out.print(((Construccion)matriz[i][j][1]).getSimbolo());
                    else if(matriz[i][j][2]!= null)
                        System.out.print(((UnidadMilitar)matriz[i][j][2]).getSimbolo());
                    else
			System.out.print(((Terreno)matriz[i][j][0]).getSimbolo());
                }
                System.out.println();
            }
	}

	public boolean disponible(int x, int y, int longx, int longy){
		if (x+longx >15 || y+longy >20  || x<0 || y< 0) return false;
		for (int i = x; i< x+longx ;i++){
			for(int j = y; j< y + longx ; j++){
				if ((matriz[i][j][1]!=null) || (matriz[i][j][2] != null)) return false;
			}
		}
		return true;
	}

	public void ubicarConstruccion(int x, int y, int longx, int longy, Object objeto, char rep){
		for (int i = x; i< x+longx ;i++){
                    for(int j = y; j< y + longx ; j++){
                            matriz[i][j][1]=objeto;
                    }
		}
                System.out.println("Tu construccion ha sido ubicada correctamente");
	}

	public boolean ubicarObjeto(int x, int y, Object objeto){
		if (x >15 || x<0 || y>20 || y<0) return false;
		matriz[x][y][2]=objeto;
		System.out.println("Tu construccion ha sido ubicada correctamente");
                return true;
	}

}
